package com.base.config

import com.github.benmanes.caffeine.cache.Cache
import com.github.benmanes.caffeine.cache.Caffeine
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import java.util.concurrent.TimeUnit

@Configuration
class CaffeineConfig {
    @Bean
    fun caffeineCache(): Cache<String, String> {
        return Caffeine.newBuilder()
            .expireAfterWrite(5, TimeUnit.SECONDS) // 设置最后一次写入或访问后经过固定时间过期
            //                .expireAfterAccess(5, TimeUnit.SECONDS)
            .initialCapacity(100) // 初始的缓存空间大小
            .maximumSize(1000) // 缓存的最大条数
            .build()
    }
}
